Calibration data of multiple cameras from different viewpoints are used whenever data from one camera has to be related to data from another camera e.g. during a full 3D reconstruction of a scene viewed by these cameras, when performing 3D tracking of people or during applications of computer generated graphics as for instance used in augmented reality applications.
Calibration data generally comprises intrinsic and extrinsic camera parameters. The former relate to metrics of the internal camera itself, such as pixel size, aspect ratio, skew and principal point. The extrinsic calibration data relate to the camera's position and viewing direction, either relative to a specified world frame, or to another (reference) camera.
The internal calibration parameters do not depend on the position of the camera, and can therefore be assumed to be known, as these are generally either given by the camera vendor or be estimated.
On the other hand, the relative position as well as the viewing directions of the cameras are unknown variables. They change each time a camera is displaced, or moved, e.g. during the creation of movie images, or during image capturing using a mobile device, or during movement of webcams capturing the images.
Known techniques for providing these extrinsic calibration data usually involve some human intervention, where either these positions are manually measured, or obtained by means of some manual intervention techniques. Fully automatic techniques exist, but only for limited cases of differences in position and viewing angle between the cameras, since it is difficult to deal with deformations in images resulting from different viewpoints. These limited cases only refer to e.g. short distances between the cameras as well as small angle viewpoint differences.
It is thus an object of embodiments of the present invention to provide a method of the above known kind, but which is fully automatic, and can work for multiple cameras irrespective of their relative position.